package com.qf.day12;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/**
 * ● 1、迭代器迭代完成之后，迭代器的位置在最后一位。 所以迭代器只能迭代一次
 * ● 2、迭代器在迭代的时候，可能会出错 NoSuchElementException
 * ● 3、在迭代器迭代的时候，不能向集合中添加或者删除元素
 */
public class IteratorDemo {

    public static void main(String[] args) {

        Collection<Integer> c = new ArrayList<>();

        c.add(10);
        c.add(20);
        c.add(3);

        Iterator<Integer> iterator = c.iterator();

        while (iterator.hasNext()) {
            System.out.println(iterator.next());
            // 在迭代器迭代的时候，不能向集合中添加或者删除元素
//            c.add(200);
//            c.remove(3);
        }

        // 如果迭代器已经把所有元素都迭代完毕，再次调用 next方法 可能会收到异常
        //Exception in thread "main" java.util.NoSuchElementException
//        iterator.next();

    }

}
